1 C Q-T PROGRAM
2 DIMENSION QRR(10,10),QOR(10,10),LL(10),MM(10),TN(6,10,10)
3 COMPLEX*16 QRR,QOR,TN,P,D
4 cc CALL UNSTAE
5 NR = 5
6 NR1 = NR*1
7 ND = 2*NR
8 DO 30 M1 = 1,NR1
9 READ(21,END = 8) QRR
10 GO TO 9
11 8 READ(21,END=999) QRR
12 9 CONTINUE
13 READ(21,END=12) QOR
14 GO TO 13
15 12 READ(21,END=999) QOR
16 13 CONTINUE
17 IF(M1.LT.3) GO TO 16
18 MD1 = 2*M1-4
19 DO 15 I = 1,MD1
20 QOR = (1.0D0,0.0D0)
21 15 CONTINUE
22 16 CONTINUE
23 CALL MCNV(QOR,ND,D,LL,MM)
24 DO 21 I = 1,ND
25 DO 21 J = 1,ND
26 P = (0.0D0,0.0D0)
27 DO 20 K = 1,ND
28 P = P-QRR(I,K)*QOR(K,J)
29 20 CONTINUE
30 TN(M1,I,J) = P
31 21 CONTINUE
32 30 CONTINUE
33 WRITE (11) TN
34 PRINT 50
35 50 FORMAT('0 TN NOW HOPEFULLY REPLACED INTO DATASE')
36 999 CONTINUE
37 STOP
38 cc DEBUG SUBCHK
39 END
40 C Seite 10
41
42
43 SUBROUTINE MCNV(A,N,D,L,M)
44 DIMENSION A(1),L(1),M(1)
45 COMPLEX*16 A,D,BIGA,HOLD
46 D = (1.0D0,0.0D0)
47 NK=-N
48 DO 80 K=1,N
49 NK=NK+N
50 L(K)=K
51 M(K)=K
52 KK=NK+K
53 BIGA=A(KK)
54 DO 20 J=K,N
55 IZ=N*(J-1)
56 DO 20 I=K,N
57 IJ=IZ+1
58 10 IF(CDABS(BIGA)-CDABS(A(IJ))) 15,20,20
59 15 BIGA=A(IJ)
60 L(K)=I
61 M(K)=J
62 20 CONTINUE
63 J=L(K)
64 IF(J-K) 35,35,25
65 25 KI=K-N
66 DO 30 I=1,N
67 KI=KI+N
68 HOLD=-A(KI)
69 JI=KI-K+J
70 A(KI)=A(JI)
71 30 A(JI) =HOLD
72 35 I=M(K)
73 IF(I-K) 45,45,38
74 38 JP=N*(I-1)
75 DO 40 J=1,N
76 JK=NK+J
77 JI=JP+J
78 HOLD=-A(JK)
79 A(JK)=A(JI)
80 40 A(JI) =HOLD
81 45 IF(CDABS(BIGA)) 48,46,48
82 46 D = (0.0D0,0.0D0)
83 RETURN
84 48 DO 55 I=1,N
85 IF(I-K) 50,55,50
86 50 IK=NK+1
87 A(IK)=A(IK)/(-BIGA)
88 55 CONTINUE
89 DO 65 I=1,N
90 IK=NK+1
91 HOLD=A(IK)
92 IJ=I-N
93 DO 65 J=1,N
94 IJ=IJ+N
95 IF(I-K) 60,65,60
96 60 IF(J-K) 62,65,62
97 62 KJ=IJ-I+K
98 A(IJ)=HOLD*A(KJ)+A(IJ)
99 65 CONTINUE
100 KJ=K-N
101 DO 75 J=1,N
102 C Seite 35
103
104
105 KJ=KJ+N
106
107
108 IF(J-K) 70,75,70
109 70 A(KJ)=A(KJ)/BIGA
110 75 CONTINUE
111 D=D*BIGA
112 A(KK) = (1.0D0,0.0D0)/BIGA
113 80 CONTINUE
114 K=N
115 100 K=(K-1)
116 IF(K) 150,150,105
117 105 I=L(K)
118
119
120 IF(I-K) 120,120,108
121 108 JQ=N*(K-1)
122 JR=N*(I-1)
123 DO 110 J=1,N
124 JK=JQ+J
125 HOLD=A(JK)
126 JI=JR+J
127 A(JK)=-A(JI)
128 110 A(JI) =HOLD
129 120 J=M(K)
130 IF(J-K) 100,100,125
131 125 KI=K-N
132 DO 130 I=1,N
133 KI=KI+N
134 HOLD=A(KI)
135 JI=KI-K+J
136 A(KI)=-A(JI)
137 130 A(JI) =HOLD
138 GO TO 100
139 150 RETURN
140 END
141 C Seite 36